﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entidades.Espectaculos;
using Negocio.Espectaculos;

public partial class Espectaculos_Configuracion_frmArtista : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            cargarCombos();
            cargarArtista(-1, -1, -1);
        }
    }

    protected void grvArtista_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow && e.Row.DataItem != null)
        {
            ImageButton ibtnEditar = (ImageButton)e.Row.FindControl("ibtnEditar");
            ibtnEditar.CommandArgument = e.Row.RowIndex.ToString();

            Image imgEstado = (Image)e.Row.FindControl("imgEstado");
            string estado = DataBinder.GetPropertyValue(e.Row.DataItem, "Estado").ToString();
            if (estado == "1")
            {
                imgEstado.ImageUrl = "~/Images/botones/activo.png";
            }
            else
            {
                imgEstado.ImageUrl = "~/Images/botones/inactivo.png";
            }
        }
    }

    protected void ibtnEditar_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton ibtnEditar = (ImageButton)sender;
        int index = Convert.ToInt32(ibtnEditar.CommandArgument);
        string id = grvArtista.DataKeys[index].Values["IdArtista"].ToString();

        Response.Redirect("frmRegistroArtista.aspx?id=" + id + "&ref=edit");

    }

    private void cargarSubtipo(int idTipo)
    {
        ddlSubtipo.Items.Clear();
        List<EspSubTipoEspectaculo> lista = EspTipoEspectaculoBLL.ListarSubTipoEspectaculo(idTipo, 1);
        ddlSubtipo.DataSource = lista;
        ddlSubtipo.DataTextField = "SubTipo";
        ddlSubtipo.DataValueField = "IdSubTipo";
        ddlSubtipo.DataBind();
        agregarSeleccionCombo(ddlSubtipo);

    }

    private void cargarCombos()
    {
        cargarTipo();
        cargarRepresentante();
        agregarSeleccionCombo(ddlSubtipo);
    }

    private void cargarTipo()
    {

        List<EspTipoEspectaculo> lista = EspTipoEspectaculoBLL.ListarTipoEspectaculo(1);
        ddlTipo.DataSource = lista;
        ddlTipo.DataTextField = "Tipo";
        ddlTipo.DataValueField = "IdTipo";
        ddlTipo.DataBind();
        agregarSeleccionCombo(ddlTipo);
    }

    private void cargarRepresentante()
    {

        List<EspRepresentante> lista = EspRepresentanteBLL.ListarRepresentante(1,-1,"","");
        ddlRepresentante.DataSource = lista;
        ddlRepresentante.DataTextField = "RazonSocial";
        ddlRepresentante.DataValueField = "IdRepresentante";
        ddlRepresentante.DataBind();
        agregarSeleccionCombo(ddlRepresentante);
    }

    private void cargarArtista(int idSubTipo, int estado, int idRep)
    {
        List<EspArtista> lista = EspArtistaBLL.ListarArtista(idSubTipo, estado, idRep);
        grvArtista.DataSource = lista;
        grvArtista.DataBind();

    }

    protected void ddlTipo_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            if (Page.AutoPostBackControl == ddlTipo)
            {
                int idTipo = 0;
                int.TryParse(ddlTipo.SelectedValue, out idTipo);
                cargarSubtipo(idTipo);
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

    public static void agregarSeleccionCombo(DropDownList _ddList)
    {
        ListItem item = new ListItem();
        item.Value = (-1).ToString();
        item.Text = "-- Todos --";
        _ddList.Items.Insert(0, item);
    }

    protected void btnBuscar_Click(object sender, EventArgs e)
    {
        try
        {
            int idRep = 0;
            int.TryParse(ddlRepresentante.SelectedValue, out idRep);
            int idSubTipo = 0;
            int.TryParse(ddlSubtipo.SelectedValue, out idSubTipo);
            int estado = 0;
            int.TryParse(ddlEstado.SelectedValue, out estado);


            cargarArtista(idSubTipo, estado, idRep);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

    protected void btnNuevo_Click(object sender, EventArgs e)
    {
        Response.Redirect("frmRegistroArtista.aspx");
    }

}